Adaptive filters are used in numerous applications to remove undesired frequencies from a signal. In an exemplary application, adaptive filters are used in telecommunication systems, more specifically in echo cancellation systems, to remove from a signal echoes that may arise as a result of the reflection and/or retransmission of modified input signals back to the originator of the input signals. Commonly, echoes occur when signals that were emitted from a loudspeaker are then received and retransmitted through a microphone (acoustic echo) or when reflections of a far end signal are generated in the course of transmission along hybrids wires (line echo).
Although undesirable, echo is tolerable in a telephone system, provided that the time delay in the echo path is relatively short; however, longer echo delays can be distracting or confusing to a far end speaker. Understandably, the telecommunications industry has devoted substantial resources to developing systems that minimize echo, without adversely affecting the ability of two speakers to communicate with one another.
Acoustic echo often occurs in speakerphones that employ one or more microphones together with one or more speakers to enable “hands-free” telephone communication. Line echo originates because telephone facilities usually comprise two-wire circuits within each area connecting individual subscribers with the switching office and four-wire transmission circuits between switching offices in different local exchange areas. A call between subscribers in different exchange areas is carried over a two-wire circuit in each of the areas and a four-wire circuit between the areas, with conversion of speech energy between the two and four-wire circuits being conducted by hybrid circuits. If the hybrid circuit input ports had perfectly matched impedances of the two and four-wire circuits, the signals transmitted from one exchange area to the other would not be reflected or returned to the first area as echo. Unfortunately, due to impedance differences that inherently exist between different two and four-wire circuits, and because impedances must be matched at each frequency in the voice band, it is difficult for a given hybrid circuit to perfectly match the impedances of any particular two and four-wire transmission circuit.
To substantially remove echoes from a communication system, echo cancellation systems and methods employ adaptive filters to generate an estimate of the echo-generating signal (echo estimate) that is then removed from the signal being transmitted back to the originator of the echo-generating signal (far-end source). More specifically, a far-end source transmits a signal (far-end signal) that passes through a connection medium and into an input terminal of a communication unit. The far-end signal received at the input terminal is cross-coupled via a cross-coupling path (either acoustically or in line) and creates a cross-coupling echo component. That echo component combined with a new signal from the near-end (near-end signal) is transmitted back to the far-end source as a composite output signal. In this system, an echo canceller is conventionally deployed to monitor the far-end signal and generate an estimate of the actual echoes expected to return in the form of a composite signal with the near-end signal. The echo estimates are then applied to a subtractor circuit in the transmit channel to remove or at least reduce the actual echo.
To create an accurate estimate of the actual echoes, various types of adaptation methods are known in the prior art and can be employed in the echo canceller in the form of an adaptive filter. Conventionally, a finite impulse response (FIR) filter is used which carries out the convolution between the far-end signal and the estimated impulse response, N samples in length, of the echo paths. In the most basic model, an adaptive filter (filter vector) operates on a far-end signal vector to produce an estimate of the echo, which is subtracted from the combined near-end and echo signal. The overall output of the adaptive echo canceller is then used to control adjustments made to tap values of the filter vector.
In the aforementioned application, and other applications requiring the use of adaptive filters, a critical design requirement is the ability of the filter system to achieve convergence in a rapid, stable manner and, in the process, use a minimal amount of computational resources. A trade-off traditionally exists between stability, accuracy, and speed of convergence of an adaptive filter.
In that regard, digital filters are commonly categorized into two classes: infinite-length impulse response (IIR) filters and finite-length impulse response (FIR) filters. FIR filters have certain advantages relative to IIR filters, namely that FIR filters are stable and have a linear-phase response. Linear-phase FIR filters are widely used in digital communication systems, image processing, speech processing, spectral analysis and applications where non-linear phase distortion cannot be tolerated. Compared to IIR filters, FIR filters generally require shorter data word length but have much higher orders for the same magnitude specification and, at times, introduce large delays that make them unsuitable for certain applications. For example, when dealing with a system where echo cancellation must be performed for hundreds of channels on the same processor, the use of a conventional linear finite impulse response (FIR) filter to model a long impulse response requires substantial memory and computational resources.
Notwithstanding the above, different types of adaptive filter systems have been employed in echo cancellation systems that attempt to improve the rate of convergence and stability, while still minimizing the computational resources required. U.S. Pat. No. 5,995,620 discloses a method of canceling an echo that, according to the inventors, has an improved convergence time with low complexity. The echo cancellation method includes the step of canceling the echo in a far-end signal with a Kalman filter having a time varying Kalman gain vector K(t) proportion to the vector(p1(t)x(t−1) . . . pn(t)x(t−n))Twhere pi(t) are the diagonal elements of a diagonal matrix P(t) satisfying a Riccati equation, i denotes the ith diagonal elements of P(t), t denotes discrete time, n denotes the number of filter taps, and T denotes transpose.
Despite the aforementioned prior art, an adaptive filter is still needed that achieves rapid convergence without an increase in computational resources or the introduction of instability. Additionally, a method and system of echo cancellation having an improved computational speed, while still remaining stable and minimizing the computational resources required, is also needed.